package net.marloncarvalho.loteriaz.entidades;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.NamedQueries;
import org.hibernate.annotations.NamedQuery;

/**
 * Classe que representa genericamente um sorteio de um concurso.
 * 
 * @author Marlon Silva Carvalho
 * @since 15/07/2009
 */
@Entity
@Table(name="sorteios")
@NamedQueries(
		{
			@NamedQuery(name="obterSorteiosPorDezenas", query="from Sorteio sorteio where dezenas = :dezenas"),
			@NamedQuery(name="obterSorteiosDezenaAparece", query="from Sorteio sorteio where dezenas like :dezena"),
			@NamedQuery(name="obterQuantidadeSorteiosDezenaAparece", query="select count(sorteio) from Sorteio sorteio where dezenas like :dezena")
		}
)
public class Sorteio implements EntidadePersistente {
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	private Long id;
	
	@ManyToOne
	@JoinColumn(name="idconcurso")
	private Concurso concurso;
	
	@Column(name="dezenas")
	private String dezenas;
	
	public Long getId() {
		return id;
	}
	
	public void setId(Long id) {
		this.id = id;
	}
	
	public Concurso getConcurso() {
		return concurso;
	}
	
	public void setConcurso(Concurso concurso) {
		this.concurso = concurso;
	}
	
	public String getDezenas() {
		return dezenas;
	}
	
	public void setDezenas(String dezenas) {
		this.dezenas = dezenas;
	}

}